library(kableExtra)
4 Estudios epidemiológicos
library(kableExtra)
library(questionr)
Warning: package 'questionr' was built under R version 4.3.3
library(epitools)
4.1 Asociación entre variables categóricas
4.1.1 Generalidades
Una asociación es una relación que puede o no conllevar causalidad; es decir que dos (o más) variables pueden estar asociadas o relacionadas independientemente de si una es causa de la otra. De acuerdo a lo anterior podemos establecer las siguientes posibilidades de correlación entre A y B:
Correlación causal: A es causa de B.
Correlación no causal: C es causa de A y B
Correlación independiente de la causa: C es causa de A y D es causa de B
4.1.2 Magnitud de la asociación
Una estadística que mida la magnitud de la asociación entre dos variables se denomina medida de asociación si la relación es simétrica, o sea que no hay distinción entre una variable de clasificación (variable explicativa o independiente) y una variable de respuesta (variable dependiente); se denomina medida de tamaño del efecto si la relación es asimérica, es decir, una de las variables cumple el papel de variable respuesta. (Díaz Monroy and Morales Rivera 2009)
Ejemplos de estadísticos que miden el tamaño del efecto son:
RP: Razón de prevalencia, usado en estudios Transversales Analíticos.
RR: Riesgo relativo, usado en estudios de Cohorte.
OR: ODDS Ratio (ó RM = Razón de momios), usado en estudios de Casos y Controles.
Coeficiente de contingencia.
Coeficiente Phi.
V de Cramer.
4.1.3 Estadísticos para la asociación entre variables categóricas
4.2 Estudios observacionales
Los estudios observacionales se utilizan para identificar los factores de riesgo y estimar los efectos cuantitativos de las diversas causas que contribuyen a la ocurrencia de la enfermedad.
Las investigaciones se basan en el análisis de la ocurrencia de enfermedades naturales en las poblaciones comparando grupos de individuos con respecto a la aparición de la enfermedad y exposición factores de riesgos hipotéticos.
Los estudios observacionales difieren de los estudios experimentales; en el primer caso, el investigador no es libre de asignar factores aleatoriamente a los individuos, mientras que en estos últimos el investigador es libre de asignar factores a los individuos al azar. (Thrusfield 2008)
4.2.1 Convención epidemiológica
Los estudios observacionales suelen evaluarse mediante la creación de tablas de contingencia.
Una tabla de contingencia es una tabla que cuenta las observaciones por múltiples variables categóricas. Las filas y columnas de las tablas corresponden a estas variables categóricas. (“Tablas de contingencia” 2024)
Para facilitar los cálculos y las interpretaciones de los estudios observacionales se aceptan unas convenciones en la estructura de las tablas de contingencia, las cuales son las siguientes:
Filas: Variable independiente.
Columnas: Variable dependiente.
Reporte de porcentajes por fila: Estudios transversales analíticos, estudios de cohortes y estudios experimentales.
Reporte de porcentajes por columnas: Estudios de casos y controles.
Reporte de porcentajes indistintamente: En caso que no se reconozca una variable dependiente y una independiente.
El tipo de tabla se nombra de acuerdo al número de filas y columnas que posea: Una tabla de 3 * 2 posee una variable independiente con 3 categorías (3 filas) y una variable dependiente con 2 categorías (2 columnas).
Las tablas más usadas son las de 2 * 2, estas tienen 4 celdas que se nombran por una letra siguiendo un orden por filas tal como se observa aquí abajo.
Columna 1 | Columna 2 |
---|---|
a | b |
c | d |
4.3 Pasos para analizar un estudio epidemiológico
A continuación se muestra una guía rápida, útil para todo tipo de estudio epidemiológico, cada tipo de estudio puede requerir una modificación particular a esta guía general.
Identificar qué tipo de estudio es:
Empezar la descripción de lo más general a lo más específico, ejemplo:
Estudio observacional, analítico, retrospectivo de Casos y Controles.
Clasificar las variables de acuerdo a su interrelación:
Ejemplo:
En un estudio que busque analizar la asociación entre la condición corporal en cerdas al momento del parto y la presencia de metritis, debemos identificar qué variable es la independiente y cuál es la dependiente. Dado el planteamiento del estudio, la Condición Corporal es la variable independiente y la Metritis es la variable dependiente.
Clasificar las variables de acuerdo a su naturaleza:
Siguiendo el ejemplo anterior, clasificaremos las variables por su naturaleza.
Condición corporal (Gorda, Normal, Flaca): Variable cualitativa, ordinal, politómica con 3 categorías.
Metritis (presencia, ausencia): Variable cualitativa, nominal, dicotómica.
Esto será la base para la estructura de la tabla de contingencia, en este caso será una tabla de 3 * 2 (3 filas, 2 columnas).
Realizar la tabla de contingencia adecuada: Se realiza con base a las frecuencias observadas; es decir, con los conteos originales obtenidos.
Calcular las frecuencias relativas: Las frecuencias relativas se calculan obteniendo la proporción de cada celda respecto a su fila o columna dependiendo del tipo de estudio, en los estudios Transversales analíticos y en los estudios de Cohorte las frecuencias relativas se calcula obteniendio la proporción de cada celda respecto a su fila, mientras que en los estudios de Casos y Controles las frecuencias relativas se calculan obteniendio la proporción de cada celda respecto a su columna.
En R se puede usar el comando prop.table().
prop.table(tabla_de_frecuencias_observadas, margin = 1): Se usa margin = 1 en estudios Transversales analíticos y de Cohorte ya que indica que las proporciones se calcularán por filas.
prop.table(tabla_de_frecuencias_observadas, margin = 2): Se usa margin = 2 en estudios de Casos y Controles ya que indica que las proporciones se calcularán por filas.
- Aplicar estadistica descriptiva:
Realizar gráficas: Las opciones más útiles son las gráficas de barras y las gráficas de mosaico. Responder preguntas básicas: En estudios Transversales analíticos y estudios de Casos y Controles responder cuál es la prevalencia tanto en presencia como en ausencia del factor del riesgo, en estudios de Cohorte responder cuál es la incidencia tanto en casos de presencia como en ausencia del factor de riesgo.
- Calcular la frecuencia esperada.
\[\begin{equation}{} \frac{\sum(f_n) . \sum(c_n)} {\sum(f_n) + \sum(c_n)} \end{equation}\]
Donde:
f = Fila
c = Columna
n = Celda a calcular (en una tabla de 2 X 2, n puede ser a, b, c, d)
Decidir qué tipo de estadístico es el más adecuado: ji^2, Test exacto de Fisher, etc.
Si hay significancia estadística medir el tamaño del efecto: Utilizar el estadístico del tamaño del efecto adecuado:
RP (Razón de Prevalencia) Para estudios transvetrsales analíticos.
OR (ODDS Ratio) Para estudios de Casos y Controles.
RR (Riesgo Relativo) Para estudios de Cohorte.
Estadísticos complementarios: V de Cramer, Coeficiente Phi, Coeficiente de Contingencia.
4.4 Estudio transversal analítico
Se denomina estudio transversal porque la exposición y el resultado de la enfermedad se determinan simultáneamente para cada participante del estudio; es como si estuviéramos viendo una instantánea de la población en un momento determinado. (Celentano 2019)
Estadístico a calcular (Medida del tamaño del efecto): RP (Razón de prevalencia)
\[\begin{equation}{} RP = \frac {a / (a + b)} {c / (c + d)} \end{equation}\]
Crearemos una tabla con datos simulados para dos variables (parainfluenza y hacinamiento), cada variable con dos factores o niveles (“si” y “no”)
set.seed(1948)
<- data.frame(
transversal parainfluenza = sample(x = c("si", "no"), size = 15, replace = T, prob = c(0.55, 0.45)),
hacinamiento = sample(x = c("si", "no"), size = 15, replace = T, prob = c(0.55, 0.45))
)
$parainfluenza <- factor(transversal$parainfluenza, levels = c("si", "no"))
transversal$hacinamiento <- factor(transversal$hacinamiento, levels = c("si", "no"))
transversal
# Encabezado con los primeros 10 datos de la tabla
head(transversal)
parainfluenza hacinamiento
1 si si
2 no si
3 no si
4 no si
5 si si
6 no no
Ahora crearemos una tabla de contingencia, dado que son dos variables y cada una tiene 2 factores o niveles, este tipo de tablas son llamadas “tablas de 2 x 2”.
Usaremos el comando “table” el cuál me muestra la tabla de contingencia mediante frecuencias absolutas.
Es importante recordar la convención epidemiológica y en consecuencia colocar en las filas la variable “hacinamiento” que es la variable independiente y en las columnas la variable “parainfluenza” que es la variable dependiente.
<- table(hacinamiento = transversal$hacinamiento, parainfluenza = transversal$parainfluenza) ta_table
plot(ta_table, main = "Asociación parainfluenza-hacinamiento")
<- matrix(data = c(5, 5, 1, 4), 2, 2, 1,
prueba dimnames = list(c("si", "no"), c("positivo", "negativo")))
barplot(t(prop.table(prueba, 1))*100, xlab = "Hacinamientio", ylab = "Parainfluenza", legend.text = T, main = "Asociación entre Hacinamiento y Parainfluenza")
Para calcular las frecuencias relativas (es decir los porcentajes) usamos el comando prop.table, es importante establecer en el argumento “margin” el valor “1” para que la sumatoria sea realizada por filas (el valor “2” hace la sumatoria por columnas).
<- prop.table(ta_table, margin = 1)
ta_prop.table ta_prop.table
parainfluenza
hacinamiento si no
si 0.5 0.5
no 0.2 0.8
¿Cuál es la prevalencia de Parainfluenza en perros hacinados?
50 %
¿Cuál es la prevalencia de Parainfluenza en perros no hacinados?
20 %
Ahora, ya que tenemos la tabla con los porcentajes, si sus celdas las nombráramos como a, b, c y d de acuerdo a la convención epidemiológica podemos calcular la RP (Razón de prevalencia) dividiendo a / c. Esto es lo mismo que si tomáramos la tabla de frecuencias absolutas y realizáramos (a / (a + b) ) / (c / (c + d))
# RP utilizando la tabla de porcentajes (frecuencias relativas)
<- ta_prop.table[1] / ta_prop.table[2]
RP RP
[1] 2.5
# RP utilizando la tabla de frecuencias absolutas
1] / (ta_table[1] + ta_table[3])) /
(ta_table[2] / (ta_table[2] + ta_table[4])) (ta_table[
[1] 2.5
Si RP = 1: No hay asociación.
Si RP > 1: El riesgo está aumentado.
Si RP < 1: El riesgo está disminuido.
Si a la RP le restamos 1, es decir
- 1 RP
[1] 1.5
Dado que el resultado de RP - 1 es mayor que 1, podemos interpretar la respuesta como las veces que está aumentada la prevalencia de parainfluenza en condiciones de hacinamiento respecto a parainfluenza en ausencia de hacinamiento.
Otra forma de interpretarlo es multiplicar por 100 el resultado de (RP - 1), es decir
-1) * 100 (RP
[1] 150
Esto lo interpretamos como el % de aumento en la prevalencia de parainfluenza en presencia de hacinamiento, respecto a la prevalencia de parainfluenza en ausencia de hacinamiento.
4.5 Estudio de casos y controles
Se emplean para determinar la asociación entre una enfermedad u otro evento de interés y factores de riesgo como condición pasada existente con el fin de aclarar su papel causal.
Para su realización, se seleccionan dos grupos de individuos tomando en cuenta la presencia de la enfermedad (casos) o la ausencia de la misma (controles).
El grupo de casos se conforma con individuos que presentan la enfermedad o evento de estudio; por ejemplo, perros con diagnóstico de cáncer de vejiga.
Por otra parte, el grupo de controles o testigos con individuos que no tienen la enfermedad o evento de estudio; por ejemplo, perros sanos o sin diagnóstico de cáncer de vejiga.
De cada uno de los individuos estudiados se obtiene información con respecto a su exposición a uno o más factores de riesgo o posibles factores de confusión en el pasado, de esta manera se hace la comparación entre la frecuencia de exposición al factor de riesgo de los casos y de los controles, para determinar la relación entre la exposición y la enfermedad o evento de interés, se deben examinar las historias de exposición en los casos y los controles. (Jaramillo Arango 2010)
4.5.1 Paso 1: Obtener datos
Un estudio pretende evaluar la posible asociación entre el sexo y la prevalencia de leptospirosis en perros, para ello se recolectaron datos de perros con leptospirosis y se clasificaron por sexo.
<- data.frame(
cyc leptospirosis = factor(
c(rep("si", 28), rep("no", 22)),
levels = c("si", "no")
),sexo = factor(
c(rep("m", 18), rep("h", 15), rep("m", 7), rep("h", 10)),
levels = c("m", "h")
)
)
# Primeros 6 datos de la tabla
head(cyc)
leptospirosis sexo
1 si m
2 si m
3 si m
4 si m
5 si m
6 si m
4.5.2 Paso 2: Clasificar las variables de acuerdo a su interrelación
Variable dependiente: Leptospirosis.
Variable independiente: Sexo.
4.5.3 Paso 3: Clasificar las variables de acuerdo a su naturaleza
Leptospirosis (Presencia, Ausencia): Cuantitativa, nominal, dicotómica.
Sexo (Macho, Hembra): Cuantitativa, nominal, dicotómica.
4.5.4 Paso 3: Creación de tabla de contingencia de frecuencias observadas
Dado que tenemos una variable independiente con dos factores (presencia, ausencia) que irán en las filas, y una variable dependiente con dos factores (macho, hembra) que irán en las columnas, la tabla de contingencia será de 2 X 2 (2 filas, 2 columnas).
La tabla que crearemos es una tabla de contingencia con las frecuencias absolutas observadas (es decir, las frecuencias originales obtenidas del estudio). Para ello usamos el comando “table”, dentro del paréntesis colocamos primero la variable independiente (filas) y luego la variable dependiente (columnas).
<- table(sexo = cyc$sexo, leptospirosis = cyc$leptospirosis)
cyc_table cyc_table
leptospirosis
sexo si no
m 18 7
h 10 15
4.5.5 Paso 4: Calcular las frecuencias relativas
Con la frecuencia relativa se puede conocer la prevalencia de la enfermedad en presencia y en ausencia del factor de riesgo (celdas a y c), así también la falta de enfermedad en presencia y en ausencia del factor de riesgo (celdas b y d). En el caso de los estudios de Casos y Controles las frecuencias relativas se calculan por columna (es decir que la suma de cada columna debe resultar 100% si el cálculo es un % o 1 si usamos una escala de 0 a 1).
Cálculo manual
# Celda a
18 / (18 +10)
[1] 0.6428571
# Celda b
7 / (7 + 15)
[1] 0.3181818
# Celda c
10 / (18 + 10)
[1] 0.3571429
# Celda d
15 / (7 + 15)
[1] 0.6818182
Atajo en R
Se usa el comando prop.table, dentro del paréntesis se coloca la tabla de frecuencias observadas (la que ya creamos con el comando “table” y que almacenamos con el nombre cyc_table), debemos especificar también dentro del paréntesis el argumento “margin = 2” (el 2 le indica a R que las proporciones deben calcularse por columnas, si quisiéramos por el contrario que las proporciones se calculen por filas simplemente omitimos el argumento “margin” o colocamos “margin = 1”)
Por defecto prop.table calcula las proporciones en una escala de 0 a 1.
prop.table(cyc_table, margin = 2)
leptospirosis
sexo si no
m 0.6428571 0.3181818
h 0.3571429 0.6818182
Si queremos que las proporciones sean porcentajes basta con multiplicar todo por 100
prop.table(cyc_table, margin = 2) * 100
leptospirosis
sexo si no
m 64.28571 31.81818
h 35.71429 68.18182
prop.table(cyc_table, margin = 2)
leptospirosis
sexo si no
m 0.6428571 0.3181818
h 0.3571429 0.6818182
4.5.6 Paso 5: Calcular las frecuencias esperadas
Las frecuencias esperadas se calculan con base en las frecuencias observadas. Cada frecuencia esperada se corresponde con una frecuencia observada; por tanto, si tenemos 4 celdas de frecuencias observadas (a, b, c, d), se corresponderán 4 celdas de frecuencias esperadas (a_e, b_e, c_e, d_e).
A continuación la fórmula de frecuencias esperadas
\[\begin{equation}{} \frac{\sum(f_n) . \sum(c_n)} {\sum(f_n) + \sum(c_n)} \end{equation}\]
Donde:
f = Fila
c = Columna
n = Celda a calcular (en una tabla de 2 X 2, n puede ser a, b, c, d)
A continuación se mostrará nuevamente la tabla de frecuencias observadas para que sirva de referencia y se entienda claramente el cálculo de las frecuencias esperadas:
#Frecuencias observadas, las cuales son la base
#para el cálculo de las frecuencias esperadas
cyc_table
leptospirosis
sexo si no
m 18 7
h 10 15
A continuación se muestra el cálculo de las frecuencias esperadas:
# Las celdas de las frecuencias esperadas
# tendrán el subíndice "e" ("e" de "esperada": a_e, b_e, c_e, d_e)
# para distinguirlas de las celdas de frecuencias observadas
# (a, b, c, d):
<- ((18 + 7) * (18 + 10)) / (18 + 7 + 10 + 15)
a_e <- ((18 + 7) * (7 + 15)) / (18 + 7 + 10 + 15)
b_e <- ((10 + 15) * (18 + 10)) / (18 + 7 + 10 + 15)
c_e <- ((18 + 7) * (7 + 15)) / (18 + 7 + 10 + 15)
d_e
#Creación de una matriz que contenga las celdas creadas y así se
#facilite su visualización
<- matrix(data = c(a_e, b_e, c_e, d_e),
cyc_fe nrow = 2, ncol = 2,
byrow = T
)#Etiquetado de filas y columnas
dimnames(cyc_fe)[[1]] <- c("m", "h")
dimnames(cyc_fe)[[2]] <- c("si", "no")
#Frecuencias esperadas
cyc_fe
si no
m 14 11
h 14 11
4.5.7 Paso 6: Elegir y calcular el estadístico de asociación
4.5.7.1 Elección del estadístico adecuado
Considerar los siguientes criterios:
Si al menos una variable es ordinal (o se observa tendencia): Ji cuadrado de linealidad.
Si no hay variables ordinales (ni tendencia) y más del 20% de las frecuencias esperadas son menores a 5: Test exacto de Fisher.
Si no hay variables ordinales (nio tendencia) y el 20% o menos de las frecuencias esperadas son menores a 5:
Ji cuadrado de Pearson.
Dado que las variables son nominales (y sin tendencia aparente) y a que menos del 20% de las frecuencias esperadas son menores a 5, el estadístico adecuado es el ji2 de Pearson.
4.5.7.2 Cálculo del estadístico de asociación
El cuadrado de Pearson se basa en la diferencia entre las frecuencias observadas y las frecuencias esperadas.
\[\begin{equation}{} X^2 = \sum^k_{i=1} \frac{ (O_i - E_i)^2} {E_i} \end{equation}\]
Cálculo manual:
Para hacer el cálculo manual observemos primero las frecuencias observadas y las frecuencias esperadas
Frecuencias observadas
# Frecuencias observadas
cyc_table
leptospirosis
sexo si no
m 18 7
h 10 15
Frecuencias esperadas
# Frecuencias esperadas
cyc_fe
si no
m 14 11
h 14 11
Ahora sí, calculamos el estadístico de asociación
<-
cyc_ji2 18 - 14)^2 / 14) +
((7 - 11)^2 / 11) +
((10 - 14)^2 / 14) +
((15 - 11)^2 / 11)
((
cyc_ji2
[1] 5.194805
4.5.7.3 Corrección de Yates
La corrección de Yates es un ajuste que se hace en la fórmula de ji2 en caso que la tabla de contingencia sea de 2 X 2, esto es debido a que en tablas de 2 X 2 los grados de libertad son 1 por tanto sin realizar ningún ajuste el estadístico tiende a sobreestimar la asociación entre las variables.
\[\begin{equation}{} X^2 = \sum^k_{i=1} \frac{ (|O_i - E_i| - 0.5)^2} {E_i} \end{equation}\]
#Corrección de Yates
<-
cyc_yates abs(18 - 14) - 0.5)^2 / 14) +
((abs(7 - 11) - 0.5)^2 / 11) +
((abs(10 - 14) - 0.5)^2 / 14) +
((abs(15 - 11) - 0.5)^2 / 11) ((
Atajo en R: ji^2 sin corrección de yates
chisq.test(cyc_table, correct = F)
Pearson's Chi-squared test
data: cyc_table
X-squared = 5.1948, df = 1, p-value = 0.02265
Atajo en R: ji^2 con corrección de yates
chisq.test(cyc_table, correct = T)
Pearson's Chi-squared test with Yates' continuity correction
data: cyc_table
X-squared = 3.9773, df = 1, p-value = 0.04612
Valor p < 0.05 = Significancia estadística (Asociación entre las variables).
Valor p >= 0.05 = No significancia estadística (No hay asociación entre las variables).
Dados los resultados, concluimos que sí hay asociación entre las variables, por tanto se procede a calcular el estadístico del tamaño del efecto.
4.5.8 Calcular el estadístico del tamaño del efecto
El estadístico del tamaño del efecto correspondiente a un estudio epidemiológico de Casos y Controles es el OR (ODDS Ratio).
\[\begin{equation}{} OR = \frac {a / (a + c)} {b / (b + d)} \end{equation}\]
<- cyc_table[1]
a <- cyc_table[3]
b <- cyc_table[2]
c <- cyc_table[4]
d
<- (a / (a + c)) /
OR / (b + d)) (b
OR
[1] 2.020408
odds.ratio(cyc_table)
OR 2.5 % 97.5 % p
Fisher's test 3.7468 1.0253 15.018 0.045 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sqrt(
1/cyc_table[1]) +
(1/cyc_table[2]) +
(1/cyc_table[3]) +
(1/cyc_table[4])
( )
[1] 0.604218
¿Cuál es la prevalencia de leptospirosis en machos?
%
¿Cuál es la prevalencia de leptospirosis en hembras?
%
Ahora, podemos calcular el estadístico del tamaño del efecto, que para los estudios de Casos y Controles es el OR (ODDS Ratio)
<-
OR 1] / cyc_table[3]) /
(cyc_table[2] / cyc_table[4])
(cyc_table[ OR
[1] 3.857143
odds.ratio(cyc_table)
OR 2.5 % 97.5 % p
Fisher's test 3.7468 1.0253 15.018 0.045 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cyc_table
leptospirosis
sexo si no
m 18 7
h 10 15
<- (18/10) / (7/15)
cyc_or
<- sqrt((1/18) + (1/7) + (1/10) + (1/15))
es
<- qnorm(1-(0.05/2))
za2 <- qchisq(1-(0.05/2), 1)
chia2 <- za2 * es
ic <- chia2 * es
ic - ic cyc_or
[1] 0.8216205
+ ic cyc_or
[1] 6.892665
1-(0.05/2)
[1] 0.975
Si OR = 1: No hay asociación.
Si OR > 1: El riesgo está aumentado.
Si OR < 1: El riesgo está disminuido.
Si a la OR le restamos 1, es decir
- 1 OR
[1] 2.857143
Esto lo interpretamos como las veces más de riesgo de presentar leptospirosis siendo macho que siendo hembra.
Otra forma de interpretarlo es multiplicar por 100 el resultado de (OR - 1), es decir
-1) * 100 (OR
[1] 285.7143
Y esto lo interpretamos como el porcentaje de aumento de riesgo de presentar leptospirosis siendo macho que siendo hembra.
4.6 Estudio de cohorte
Se emplean para determinar el grado de asociación entre la exposición a un factor de riesgo y la subsecuente presentación de una enfermedad o muerte.
Para la realización de este tipo de estudios se seleccionan dos grupos de individuos con base en su relación al factor de exposición que se identifican como cohortes.
Una cohorte es un grupo de individuos sometidos a una misma experiencia (exposición a un factor de riesgo), que son seguidos de manera temporal desde la fecha de exposición a esa experiencia, que puede ser diferente de un individuo a otro, de tal manera que se van obteniendo datos sobre incidencia y exposición al factor de riesgo en todos los individuos estudiados, controlando todos los posibles sesgos y factores de confusión que pudieran afectar la interpretación de los resultados.
Para su diseño, se define primero el periodo de observación, el cual depende del tiempo que transcurre entre la exposición al factor de riesgo y la aparición del evento de estudio (periodo de incubación). Posteriormente, se identifica un grupo de individuos que al inicio del periodo de observación no se encuentren afectados por el evento de estudio, el cual puede estar constituido por la población estudiada o una muestra de la misma.
Una vez que en este grupo se determina su grado de exposición al factor de riesgo, ausencia del evento en estudio o de otros asociados y posibles factores de confusión, se conforman las dos cohortes. Cohorte expuesta: grupo de individuos sin el evento en estudio y expuestos al factor de riesgo en estudio; por ejemplo, granjas que no suministran calostro a los becerros dentro de las primeras seis horas de nacidos.
Cohorte no expuesta: grupo de individuos sin el evento en estudio y no expuestos al factor de riesgo en estudio; por ejemplo, granjas que suministran calostro a los becerros dentro de las primeras seis horas de nacidos.
Las cohortes así definidas tendrán seguimiento de manera sistemática durante el periodo de observación, para medir en ellas las variaciones en la exposición al factor de riesgo; pero principalmente para determinar la incidencia del evento en estudio, de tal manera que al finalizar dicho periodo es posible saber qué tanto difiere la incidencia del evento entre los expuestos y los no expuestos. (Jaramillo Arango 2010)
Estadístico a calcular (Medida del tamaño del efecto): RR (Riesgo Relativo)
\[\begin{equation}{} RR = \frac {a / (a + b)} {c / (c + d)} \end{equation}\]
<- data.frame(
cohorte timpanismo = factor(
c(rep("si", 30), rep("no", 20)),
levels = c("si", "no")
),alfalfa = factor(
c(rep("alto", 20), rep("bajo", 10), rep("alto", 12), rep("bajo", 8)),
levels = c("alto", "bajo")
) )
Tabla de contingencia de frecuencias absolutas
<- table(alfalfa = cohorte$alfalfa, timpanismo = cohorte$timpanismo)
cohorte_table cohorte_table
timpanismo
alfalfa si no
alto 20 12
bajo 10 8
Tabla de contingencia de frecuencias relativas (porcentajes)
<- prop.table(cohorte_table, margin = 1)
cohorte_prop.table cohorte_prop.table
timpanismo
alfalfa si no
alto 0.6250000 0.3750000
bajo 0.5555556 0.4444444
¿Cuál es el porcentaje de incidencia de timpanismo en el grupo expuesto a un consumo alto de alfalfa?
62 %
¿Cuál es el porcentaje de incidencia de timpanismo en el grupo con un consumo bajo de alfalfa?
56 %
Ahora, calculemos el RR
<- cohorte_table[1]
a <- cohorte_table[3]
b <- cohorte_table[2]
c <- cohorte_table[4]
d
<- (a / (a + b)) / (c / (c + d))
RR
RR
[1] 1.125
Si RR = 1: El factor de riesgo no aumenta ni disminuye la probabilidad de enfermedad.
Si RR > 1: El riesgo está aumentado; es decir que, el factor de riesgo aumenta la probabilidad de enfermedad.
Si RR < 1: El riesgo está disminuido; es decir que, el factor de riesgo es un factor protector.
Si al RR le restamos 1, es decir
- 1 RR
[1] 0.125
Esto lo interpretamos como las veces más de riesgo de presentar timpanismo consumiendo altos niveles de alfalfa en relación a un consumo bajo de alfalfa.
Otra forma de interpretarlo es multiplicar por 100 el resultado de (OR - 1), es decir
- 1) * 100 (RR
[1] 12.5
Esto lo interpretamos como el porcentaje de aumento de riesgo de presentar timpanismo con un consumo alto de alfalfa respecto a un consumo bajo de alfalfa.
# Tabla de contingencia del libro Bioestadística de Celis
<- matrix(data = c(16, 134, 6, 119), nrow = 2, ncol = 2, byrow = T,
(ejemplo_celis dimnames = list(c("G1","G2"), c("Sí", "No"))))
Sí No
G1 16 134
G2 6 119
# Cálculo de las odds ratio (a * d) / (c * d)
<- (16 * 119) / (6 * 134)) (odds_ratio
[1] 2.368159
# Z de alfa/2 (tomando una significancia del 10%)
<- qnorm(1-(0.1/2))) (za_2
[1] 1.644854
# Error estandar raiz2((1/a) + (1/b) + (1/c) + (1/d))
<- sqrt((1 / 16) + (1 / 134) + (1 / 6) + (1 / 119))) (es
[1] 0.4950078
# Límite inferior odds ratio - z de alfa/2 * es
<- exp(log(odds_ratio) - (za_2 * es))) (limite_inferior
[1] 1.049063
# Límite inferior odds ratio + z de alfa/2 * es
<- exp(log(odds_ratio) + (za_2 * es))) (limite_superior
[1] 5.345891
# Cálculo de las odds ratio y sus intervalos de confianza con el paquete epitools
oddsratio(ejemplo_celis, conf.level = 0.9, method = "wald")[2]
$measure
NA
odds ratio with 90% C.I. estimate lower upper
G1 1.000000 NA NA
G2 2.368159 1.049063 5.345891
- [] tarea